// components/pickers/checkType/index.js

import {
  getCSBList
} from '../../../api/check'
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    value: {
      type: Number,
      value: 0,
      optionalTypes: [String, Object],
      observer: function (newVal, oldVal) {
        // 属性值变化时执行-回显数据
        const arr = this.data.options.filter(item => {
          return item.bm == newVal
        })
        if (arr.length > 0) {
          this.setData({
            selectedData: arr[0]
          })
        } else {
          this.setData({
            selectedData: {}
          })
        }
      }
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    show: false,
    selectedData: {}, //当前选中的值
    options: []
  },
  created() {
    this.getDatas()
  },
  /**
   * 组件的方法列表
   */
  methods: {
    // 获取检查类型的枚举值
    getDatas() {
      const options = wx.getStorageSync('checkType')
      if (options && options.length > 0) {
        this.setData({
          options: options
        })
      } else {
        getCSBList({
          type: 'checkmxlx'
        }).then(res => {
          wx.setStorageSync('checkType', res)
          this.setData({
            options: res
          })
        })
      }
    },
    // 打开选择器
    open() {
      this.setData({
        show: true
      })
    },
    // 选择器确认事件
    confirm(event) {
      this.setData({
        selectedData: event.detail.value
      })
      this.triggerEvent('change', event.detail.value)
      this.colse()
    },
    // 关闭选择器
    colse() {
      this.setData({
        show: false
      })
    },
  }
})